<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArCameraCollection Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArCameraCollection.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArCameraCollection-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArCameraCollection Class Reference<div class="ingroups"><a class="el" href="group__OptionalClasses.html">Optional Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Maintains information about all of the robot's cameras.  
 <a href="classArCameraCollection.html#details">More...</a></p>

<p><code>#include &lt;ArCameraCollection.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structArCameraCollection_1_1CameraInfo.html">CameraInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information regarding a single camera.  <a href="structArCameraCollection_1_1CameraInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structArCameraCollection_1_1CommandInfo.html">CommandInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information regarding a particular camera command.  <a href="structArCameraCollection_1_1CommandInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structArCameraCollection_1_1ParamInfo.html">ParamInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information regarding a particular camera parameter.  <a href="structArCameraCollection_1_1ParamInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4298508408621d2db978f1408a8dc27e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a4298508408621d2db978f1408a8dc27e">addCamera</a> (const char *cameraName, const char *cameraType, const char *displayName, const char *displayType)</td></tr>
<tr class="memdesc:a4298508408621d2db978f1408a8dc27e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new camera to the collection.  <a href="#a4298508408621d2db978f1408a8dc27e">More...</a><br /></td></tr>
<tr class="separator:a4298508408621d2db978f1408a8dc27e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af387beddb1c2d7f726eb9f1dd3da7af8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#af387beddb1c2d7f726eb9f1dd3da7af8">addCameraCommand</a> (const char *cameraName, const char *command, const char *cameraCommandName, int requestInterval=-1)</td></tr>
<tr class="memdesc:af387beddb1c2d7f726eb9f1dd3da7af8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified command to the camera.  <a href="#af387beddb1c2d7f726eb9f1dd3da7af8">More...</a><br /></td></tr>
<tr class="separator:af387beddb1c2d7f726eb9f1dd3da7af8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30de505a8e8b4a63fd85f956834cb6fb"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a30de505a8e8b4a63fd85f956834cb6fb">addModifiedCB</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *functor, <a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a> position=<a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>)</td></tr>
<tr class="memdesc:a30de505a8e8b4a63fd85f956834cb6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback to be invoked when the camera collection has been modified.  <a href="#a30de505a8e8b4a63fd85f956834cb6fb">More...</a><br /></td></tr>
<tr class="separator:a30de505a8e8b4a63fd85f956834cb6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15505acddd8e8161d4d72b3e16a83bef"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a15505acddd8e8161d4d72b3e16a83bef">addParameter</a> (const char *cameraName, <a class="el" href="classArCameraParameterSource.html">ArCameraParameterSource</a> *source, const <a class="el" href="classArConfigArg.html">ArConfigArg</a> &amp;param)</td></tr>
<tr class="memdesc:a15505acddd8e8161d4d72b3e16a83bef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified parameter to the camera.  <a href="#a15505acddd8e8161d4d72b3e16a83bef">More...</a><br /></td></tr>
<tr class="separator:a15505acddd8e8161d4d72b3e16a83bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02b8d3ef249800ef72c4fcc048a7e9f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02b8d3ef249800ef72c4fcc048a7e9f4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a02b8d3ef249800ef72c4fcc048a7e9f4">ArCameraCollection</a> ()</td></tr>
<tr class="memdesc:a02b8d3ef249800ef72c4fcc048a7e9f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a02b8d3ef249800ef72c4fcc048a7e9f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a447ff6c56721473fb869e7b62517b5b9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a447ff6c56721473fb869e7b62517b5b9">endUpdate</a> ()</td></tr>
<tr class="memdesc:a447ff6c56721473fb869e7b62517b5b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends an update to the collection.  <a href="#a447ff6c56721473fb869e7b62517b5b9">More...</a><br /></td></tr>
<tr class="separator:a447ff6c56721473fb869e7b62517b5b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a075b9bafeb4c62a9fe6d020430a84f53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a075b9bafeb4c62a9fe6d020430a84f53"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a075b9bafeb4c62a9fe6d020430a84f53">exists</a> (const char *cameraName)</td></tr>
<tr class="memdesc:a075b9bafeb4c62a9fe6d020430a84f53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified camera is contained in the collection. <br /></td></tr>
<tr class="separator:a075b9bafeb4c62a9fe6d020430a84f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4dc3f06819b719a2f7cdaf2a516a566"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4dc3f06819b719a2f7cdaf2a516a566"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#ae4dc3f06819b719a2f7cdaf2a516a566">exists</a> (const char *cameraName, const char *command)</td></tr>
<tr class="memdesc:ae4dc3f06819b719a2f7cdaf2a516a566"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified command is defined for a particular camera. <br /></td></tr>
<tr class="separator:ae4dc3f06819b719a2f7cdaf2a516a566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9094a899935e26a3f68fdea0400be86f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a9094a899935e26a3f68fdea0400be86f">getCameraCommands</a> (const char *cameraName, std::list&lt; std::string &gt; &amp;outList)</td></tr>
<tr class="memdesc:a9094a899935e26a3f68fdea0400be86f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the generic commands that are supported by the specified camera.  <a href="#a9094a899935e26a3f68fdea0400be86f">More...</a><br /></td></tr>
<tr class="separator:a9094a899935e26a3f68fdea0400be86f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff719b3e8ccac27c25d0bbc78365c8f9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#aff719b3e8ccac27c25d0bbc78365c8f9">getCameraNames</a> (std::list&lt; std::string &gt; &amp;outList)</td></tr>
<tr class="memdesc:aff719b3e8ccac27c25d0bbc78365c8f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the names of the cameras that are in the collection.  <a href="#aff719b3e8ccac27c25d0bbc78365c8f9">More...</a><br /></td></tr>
<tr class="separator:aff719b3e8ccac27c25d0bbc78365c8f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a188639b7899aa19abfc116e1c8877cb3"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a188639b7899aa19abfc116e1c8877cb3">getCameraType</a> (const char *cameraName)</td></tr>
<tr class="memdesc:a188639b7899aa19abfc116e1c8877cb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type of the specified camera.  <a href="#a188639b7899aa19abfc116e1c8877cb3">More...</a><br /></td></tr>
<tr class="separator:a188639b7899aa19abfc116e1c8877cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961abaec7de6902236edce0b5f12e9c9"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a961abaec7de6902236edce0b5f12e9c9">getCommandName</a> (const char *cameraName, const char *command)</td></tr>
<tr class="memdesc:a961abaec7de6902236edce0b5f12e9c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the specific camera command (/ network packet) name for the generic command.  <a href="#a961abaec7de6902236edce0b5f12e9c9">More...</a><br /></td></tr>
<tr class="separator:a961abaec7de6902236edce0b5f12e9c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f54f932eb88464704e13b628e06e32c"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a3f54f932eb88464704e13b628e06e32c">getDisplayName</a> (const char *cameraName)</td></tr>
<tr class="memdesc:a3f54f932eb88464704e13b628e06e32c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the display name of the specified camera.  <a href="#a3f54f932eb88464704e13b628e06e32c">More...</a><br /></td></tr>
<tr class="separator:a3f54f932eb88464704e13b628e06e32c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bc41ee3e717b585c01ad7e83cc77d9c"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a7bc41ee3e717b585c01ad7e83cc77d9c">getDisplayType</a> (const char *cameraName)</td></tr>
<tr class="memdesc:a7bc41ee3e717b585c01ad7e83cc77d9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the display type of the specified camera.  <a href="#a7bc41ee3e717b585c01ad7e83cc77d9c">More...</a><br /></td></tr>
<tr class="separator:a7bc41ee3e717b585c01ad7e83cc77d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a454aed3e6aacf1bd3e8f2876a79135ff"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a454aed3e6aacf1bd3e8f2876a79135ff">getParameter</a> (const char *cameraName, const char *parameterName, <a class="el" href="classArConfigArg.html">ArConfigArg</a> &amp;paramOut)</td></tr>
<tr class="memdesc:a454aed3e6aacf1bd3e8f2876a79135ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the specified camera parameter.  <a href="#a454aed3e6aacf1bd3e8f2876a79135ff">More...</a><br /></td></tr>
<tr class="separator:a454aed3e6aacf1bd3e8f2876a79135ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade9037c99e194bb03b85769f23552485"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#ade9037c99e194bb03b85769f23552485">getParameterNames</a> (const char *cameraName, std::list&lt; std::string &gt; &amp;outList)</td></tr>
<tr class="memdesc:ade9037c99e194bb03b85769f23552485"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the names of the parameters for the specified camera.  <a href="#ade9037c99e194bb03b85769f23552485">More...</a><br /></td></tr>
<tr class="separator:ade9037c99e194bb03b85769f23552485"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f37a0241fbc83cf430bc5e4216cb12"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#ae6f37a0241fbc83cf430bc5e4216cb12">getRequestInterval</a> (const char *cameraName, const char *command)</td></tr>
<tr class="memdesc:ae6f37a0241fbc83cf430bc5e4216cb12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the default request interval for the specified camera command.  <a href="#ae6f37a0241fbc83cf430bc5e4216cb12">More...</a><br /></td></tr>
<tr class="separator:ae6f37a0241fbc83cf430bc5e4216cb12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fdce4aac90d919e7097a1e2b2b3fe6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fdce4aac90d919e7097a1e2b2b3fe6a"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a2fdce4aac90d919e7097a1e2b2b3fe6a">lock</a> ()</td></tr>
<tr class="memdesc:a2fdce4aac90d919e7097a1e2b2b3fe6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock the collection. <br /></td></tr>
<tr class="separator:a2fdce4aac90d919e7097a1e2b2b3fe6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a815aa3dbc20310cc8b2b9b151db1d112"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a815aa3dbc20310cc8b2b9b151db1d112"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a815aa3dbc20310cc8b2b9b151db1d112">parameterExists</a> (const char *cameraName, const char *paramName)</td></tr>
<tr class="memdesc:a815aa3dbc20310cc8b2b9b151db1d112"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the specified parameter has been defined for a particular camera. <br /></td></tr>
<tr class="separator:a815aa3dbc20310cc8b2b9b151db1d112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af596938f5848c0ad389e532e320995ef"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#af596938f5848c0ad389e532e320995ef">removeCamera</a> (const char *cameraName)</td></tr>
<tr class="memdesc:af596938f5848c0ad389e532e320995ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the specified camera from the collection.  <a href="#af596938f5848c0ad389e532e320995ef">More...</a><br /></td></tr>
<tr class="separator:af596938f5848c0ad389e532e320995ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a503f821e2d8030775b7cfd2f34461b8b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a503f821e2d8030775b7cfd2f34461b8b">removeCameraCommand</a> (const char *cameraName, const char *command)</td></tr>
<tr class="memdesc:a503f821e2d8030775b7cfd2f34461b8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the specified command from the camera.  <a href="#a503f821e2d8030775b7cfd2f34461b8b">More...</a><br /></td></tr>
<tr class="separator:a503f821e2d8030775b7cfd2f34461b8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1838a439c4a74da1a467b19af40eeeac"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a1838a439c4a74da1a467b19af40eeeac">removeModifiedCB</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a1838a439c4a74da1a467b19af40eeeac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a callback from the modified notification list.  <a href="#a1838a439c4a74da1a467b19af40eeeac">More...</a><br /></td></tr>
<tr class="separator:a1838a439c4a74da1a467b19af40eeeac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8d52a0d7fb9d37adbfa82e5e9024d2c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#ab8d52a0d7fb9d37adbfa82e5e9024d2c">removeParameter</a> (const char *cameraName, const char *paramName)</td></tr>
<tr class="memdesc:ab8d52a0d7fb9d37adbfa82e5e9024d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the specified parameter from the camera.  <a href="#ab8d52a0d7fb9d37adbfa82e5e9024d2c">More...</a><br /></td></tr>
<tr class="separator:ab8d52a0d7fb9d37adbfa82e5e9024d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a809eb7f6b328cad9ad6d9517bd5cfea5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a809eb7f6b328cad9ad6d9517bd5cfea5">setParameter</a> (const char *cameraName, const <a class="el" href="classArConfigArg.html">ArConfigArg</a> &amp;param)</td></tr>
<tr class="memdesc:a809eb7f6b328cad9ad6d9517bd5cfea5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the specified camera parameter.  <a href="#a809eb7f6b328cad9ad6d9517bd5cfea5">More...</a><br /></td></tr>
<tr class="separator:a809eb7f6b328cad9ad6d9517bd5cfea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a1afaa71eb2965b4ab9ebce55fd761f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a7a1afaa71eb2965b4ab9ebce55fd761f">startUpdate</a> ()</td></tr>
<tr class="memdesc:a7a1afaa71eb2965b4ab9ebce55fd761f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts an update to the collection.  <a href="#a7a1afaa71eb2965b4ab9ebce55fd761f">More...</a><br /></td></tr>
<tr class="separator:a7a1afaa71eb2965b4ab9ebce55fd761f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aea84f889b4d7b3a10c9624588472e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4aea84f889b4d7b3a10c9624588472e5"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a4aea84f889b4d7b3a10c9624588472e5">tryLock</a> ()</td></tr>
<tr class="memdesc:a4aea84f889b4d7b3a10c9624588472e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to lock the collection without blocking. <br /></td></tr>
<tr class="separator:a4aea84f889b4d7b3a10c9624588472e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdb91fcb17dd9d89054071b07c1aca62"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acdb91fcb17dd9d89054071b07c1aca62"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#acdb91fcb17dd9d89054071b07c1aca62">unlock</a> ()</td></tr>
<tr class="memdesc:acdb91fcb17dd9d89054071b07c1aca62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlock the collection. <br /></td></tr>
<tr class="separator:acdb91fcb17dd9d89054071b07c1aca62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31aa9bd6524c6ef2200f4e908d18f317"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31aa9bd6524c6ef2200f4e908d18f317"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a31aa9bd6524c6ef2200f4e908d18f317">~ArCameraCollection</a> ()</td></tr>
<tr class="memdesc:a31aa9bd6524c6ef2200f4e908d18f317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a31aa9bd6524c6ef2200f4e908d18f317"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7da3a754171f2ed20a7a880cf83fd25c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7da3a754171f2ed20a7a880cf83fd25c"></a>
<a class="el" href="structArCameraCollection_1_1CameraInfo.html">CameraInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a7da3a754171f2ed20a7a880cf83fd25c">findCameraInfo</a> (const char *cameraName)</td></tr>
<tr class="memdesc:a7da3a754171f2ed20a7a880cf83fd25c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="structArCameraCollection_1_1CameraInfo.html" title="Information regarding a single camera. ">CameraInfo</a> for the specified camera. <br /></td></tr>
<tr class="separator:a7da3a754171f2ed20a7a880cf83fd25c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ef809a9ce554014292d04bc89342d6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ef809a9ce554014292d04bc89342d6d"></a>
<a class="el" href="structArCameraCollection_1_1CommandInfo.html">CommandInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a9ef809a9ce554014292d04bc89342d6d">findCommandInfo</a> (const char *cameraName, const char *commandName)</td></tr>
<tr class="memdesc:a9ef809a9ce554014292d04bc89342d6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="structArCameraCollection_1_1CommandInfo.html" title="Information regarding a particular camera command. ">CommandInfo</a> for the specified generic command. <br /></td></tr>
<tr class="separator:a9ef809a9ce554014292d04bc89342d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6150d38fa792b3cc5957e7bc6ace5b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6150d38fa792b3cc5957e7bc6ace5b2"></a>
<a class="el" href="structArCameraCollection_1_1ParamInfo.html">ParamInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#ab6150d38fa792b3cc5957e7bc6ace5b2">findParamInfo</a> (const char *cameraName, const char *paramName)</td></tr>
<tr class="memdesc:ab6150d38fa792b3cc5957e7bc6ace5b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the <a class="el" href="structArCameraCollection_1_1ParamInfo.html" title="Information regarding a particular camera parameter. ">ParamInfo</a> for the specified parameter. <br /></td></tr>
<tr class="separator:ab6150d38fa792b3cc5957e7bc6ace5b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e2415bbc0cdff30a308bf5a236405d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87e2415bbc0cdff30a308bf5a236405d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a87e2415bbc0cdff30a308bf5a236405d">notifyModifiedListeners</a> ()</td></tr>
<tr class="memdesc:a87e2415bbc0cdff30a308bf5a236405d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invokes each of the callbacks when the collection has been modified. <br /></td></tr>
<tr class="separator:a87e2415bbc0cdff30a308bf5a236405d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab63d7ae8bcaa23c43a40f8831d6a0e11"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab63d7ae8bcaa23c43a40f8831d6a0e11"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#ab63d7ae8bcaa23c43a40f8831d6a0e11">setModified</a> ()</td></tr>
<tr class="memdesc:ab63d7ae8bcaa23c43a40f8831d6a0e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets an indication that the collection has been modified. <br /></td></tr>
<tr class="separator:ab63d7ae8bcaa23c43a40f8831d6a0e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a372b34b5b0f9e1a9b96177f54b8d3402"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a372b34b5b0f9e1a9b96177f54b8d3402"></a>
std::map&lt; std::string, <a class="el" href="structArCameraCollection_1_1CameraInfo.html">CameraInfo</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a372b34b5b0f9e1a9b96177f54b8d3402">myCameraToInfoMap</a></td></tr>
<tr class="memdesc:a372b34b5b0f9e1a9b96177f54b8d3402"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of camera names to the associated camera information. <br /></td></tr>
<tr class="separator:a372b34b5b0f9e1a9b96177f54b8d3402"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68d02bde31ed4a949bedcdfa0db89813"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68d02bde31ed4a949bedcdfa0db89813"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a68d02bde31ed4a949bedcdfa0db89813">myIsModified</a></td></tr>
<tr class="memdesc:a68d02bde31ed4a949bedcdfa0db89813"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the collection has been modified (since the last notification) <br /></td></tr>
<tr class="separator:a68d02bde31ed4a949bedcdfa0db89813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3da59b1c0a254b53d99ae470add1799"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3da59b1c0a254b53d99ae470add1799"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#aa3da59b1c0a254b53d99ae470add1799">myIsUpdatesEnabled</a></td></tr>
<tr class="memdesc:aa3da59b1c0a254b53d99ae470add1799"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether updates are currently enabled. <br /></td></tr>
<tr class="separator:aa3da59b1c0a254b53d99ae470add1799"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55993d2a376748f07f0cbe73b6e58f57"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55993d2a376748f07f0cbe73b6e58f57"></a>
std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a55993d2a376748f07f0cbe73b6e58f57">myModifiedCBList</a></td></tr>
<tr class="memdesc:a55993d2a376748f07f0cbe73b6e58f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of callbacks to be notified when the collection is modified. <br /></td></tr>
<tr class="separator:a55993d2a376748f07f0cbe73b6e58f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a0bbcc01b093db1d568129c3d577685"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a0bbcc01b093db1d568129c3d577685"></a>
<a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArCameraCollection.html#a5a0bbcc01b093db1d568129c3d577685">myMutex</a></td></tr>
<tr class="memdesc:a5a0bbcc01b093db1d568129c3d577685"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mutex for multi-threaded access. <br /></td></tr>
<tr class="separator:a5a0bbcc01b093db1d568129c3d577685"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Maintains information about all of the robot's cameras. </p>
<p><a class="el" href="classArCameraCollection.html" title="Maintains information about all of the robot&#39;s cameras. ">ArCameraCollection</a> is a repository for information about each of the cameras that are installed on the robot. It enables clients to adjust to robots with varying camera configurations. </p>
<p>Three main types of information are maintained for each camera: </p><ul>
<li>
<p class="startli">Overview Information: This includes the name and type of the camera, along with text strings suitable for display. Note that each camera must be assigned a unique name. Furthermore, the overview information must be added to the collection before any of the other types of information are added.</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">Command Information: Each camera may respond to any number of generic commands (such as pan/tilt/zoom, or get camera picture). The command information defines which commands are supported for each camera, and also defines a unique "camera command name" for each generic command. (The "camera command name", for example, may be used as a network packet name. It must be unique across <em>all</em> of the robot's cameras.) Commands which are commonly supported are defined in <a class="el" href="classArCameraCommands.html" title="Commands that are supported by the camera (ArPTZ) and video classes. ">ArCameraCommands</a>, but additional ones may be added.</p>
<p class="endli"></p>
</li>
<li>
Parameter Information: Parameters, or settings, may be defined for each camera. A framework has been built into the collection to allow clients to view/edit the parameters. Changes are relayed to the originator (source) of the parameter, which is responsible for actually adjusting the camera hardware.  </li>
</ul>
<p>Callbacks may be installed on the collection to be notified whenever the collection is modified. This notification only occurs when cameras, commands, or parameters are added or removed. (The editing of parameters is merely passed to the parameter source.) </p>
<p><a class="el" href="classArCameraCollection.html" title="Maintains information about all of the robot&#39;s cameras. ">ArCameraCollection</a> is thread-safe. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a4298508408621d2db978f1408a8dc27e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::addCamera </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>displayName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>displayType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a new camera to the collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the char * name of the camera; must be unique and non-NULL </td></tr>
    <tr><td class="paramname">cameraType</td><td>the char * type of the camera (e.g. VCC4 or Omni) </td></tr>
    <tr><td class="paramname">displayName</td><td>the char * string to be displayed for the camera name; if NULL, then the cameraName is used instead </td></tr>
    <tr><td class="paramname">displayType</td><td>the char * string to be displayed for the camera type; if NULL, then the cameraType is used instead </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the camera was successfully added; false, otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="af387beddb1c2d7f726eb9f1dd3da7af8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::addCameraCommand </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraCommandName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>requestInterval</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds the specified command to the camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the char * name of the camera to which the command is to be added. The camera must have already been installed in the collection via the <a class="el" href="classArCameraCollection.html#a4298508408621d2db978f1408a8dc27e" title="Adds a new camera to the collection. ">addCamera()</a> method. </td></tr>
    <tr><td class="paramname">command</td><td>the char * identifier of the command that is being added. Common commands (currently recognized by MobileEyes) are defined in <a class="el" href="classArCameraCommands.html" title="Commands that are supported by the camera (ArPTZ) and video classes. ">ArCameraCommands</a>. </td></tr>
    <tr><td class="paramname">cameraCommandName</td><td>the corresponding char * command (i.e. network packet) name that is actually handled by the camera. The cameraCommandName must be non-NULL and unique across all robot cameras. </td></tr>
    <tr><td class="paramname">requestInterval</td><td>the int number of milliseconds between client requests for repeating commands; if -1, then the command is not repeating. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the command was successfully added; false if an error occurred. </dd></dl>

</div>
</div>
<a class="anchor" id="a30de505a8e8b4a63fd85f956834cb6fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::addModifiedCB </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a>&#160;</td>
          <td class="paramname"><em>position</em> = <code><a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a callback to be invoked when the camera collection has been modified. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>the <a class="el" href="classArFunctor.html" title="An object which allows storing a generalized reference to a method with an object instance to call la...">ArFunctor</a> * to be invoked when the collection has been modified; must be non-NULL </td></tr>
    <tr><td class="paramname">position</td><td>the <a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a> at which to put the callback (beginning or end) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the callback was succesfully added; false, otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a15505acddd8e8161d4d72b3e16a83bef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::addParameter </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArCameraParameterSource.html">ArCameraParameterSource</a> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classArConfigArg.html">ArConfigArg</a> &amp;&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds the specified parameter to the camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the char * name of the camera to which the parameter is to be added. The camera must have already been installed in the collection via the <a class="el" href="classArCameraCollection.html#a4298508408621d2db978f1408a8dc27e" title="Adds a new camera to the collection. ">addCamera()</a> method. </td></tr>
    <tr><td class="paramname">source</td><td>the <a class="el" href="classArCameraParameterSource.html" title="Interface for collection items that also access the camera&#39;s parameters. ">ArCameraParameterSource</a> * that is to be notified when the parameter value is changed; if NULL, then no notification </td></tr>
    <tr><td class="paramname">param</td><td>the <a class="el" href="classArConfigArg.html" title="Argument class for ArConfig. ">ArConfigArg</a> parameter to be added; the parameter name must be unique for this camera. (Parameter names may be reused across different cameras though.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the parameter was successfully added to the camera; false if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="a447ff6c56721473fb869e7b62517b5b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArCameraCollection::endUpdate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Ends an update to the collection. </p>
<p>A call to <a class="el" href="classArCameraCollection.html#a7a1afaa71eb2965b4ab9ebce55fd761f" title="Starts an update to the collection. ">startUpdate()</a> must eventually be followed by a call to <a class="el" href="classArCameraCollection.html#a447ff6c56721473fb869e7b62517b5b9" title="Ends an update to the collection. ">endUpdate()</a>. </p>

</div>
</div>
<a class="anchor" id="a9094a899935e26a3f68fdea0400be86f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArCameraCollection::getCameraCommands </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::list&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>outList</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the generic commands that are supported by the specified camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
    <tr><td class="paramname">outList</td><td>the std::list&lt;std::string&gt; into which the commands are output; any previous contents of the outList are cleared. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aff719b3e8ccac27c25d0bbc78365c8f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArCameraCollection::getCameraNames </td>
          <td>(</td>
          <td class="paramtype">std::list&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>outList</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the names of the cameras that are in the collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">outList</td><td>the std::list&lt;std::string&gt; into which the names are output; any previous contents of the outList are cleared. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a188639b7899aa19abfc116e1c8877cb3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArCameraCollection::getCameraType </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the type of the specified camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>char * the type of the specified camera; NULL if the camera was not found in the collection </dd></dl>

</div>
</div>
<a class="anchor" id="a961abaec7de6902236edce0b5f12e9c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArCameraCollection::getCommandName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>command</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the specific camera command (/ network packet) name for the generic command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
    <tr><td class="paramname">command</td><td>the char * name of the generic command to be retrieved </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>char * the unique command (or network packet) name for the generic command on the specified camera; NULL, if the camera does not support the generic command </dd></dl>

</div>
</div>
<a class="anchor" id="a3f54f932eb88464704e13b628e06e32c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArCameraCollection::getDisplayName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the display name of the specified camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>char * the string to be displayed as the name of the specified camera; NULL if the camera was not found in the collection </dd></dl>

</div>
</div>
<a class="anchor" id="a7bc41ee3e717b585c01ad7e83cc77d9c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArCameraCollection::getDisplayType </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the display type of the specified camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>char * the string to be displayed as the type of the specified camera; NULL if the camera was not found in the collection </dd></dl>

</div>
</div>
<a class="anchor" id="a454aed3e6aacf1bd3e8f2876a79135ff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::getParameter </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>parameterName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArConfigArg.html">ArConfigArg</a> &amp;&#160;</td>
          <td class="paramname"><em>paramOut</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the specified camera parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
    <tr><td class="paramname">parameterName</td><td>the unique char * name of the parameter to be retrieved </td></tr>
    <tr><td class="paramname">paramOut</td><td>the <a class="el" href="classArConfigArg.html" title="Argument class for ArConfig. ">ArConfigArg</a> into which the parameter is copied </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the parameter was successfully found; false, otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ade9037c99e194bb03b85769f23552485"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArCameraCollection::getParameterNames </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::list&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>outList</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the names of the parameters for the specified camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
    <tr><td class="paramname">outList</td><td>the std::list&lt;std::string&gt; into which the parameter names are output; any previous contents of the outList are cleared. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae6f37a0241fbc83cf430bc5e4216cb12"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArCameraCollection::getRequestInterval </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>command</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the default request interval for the specified camera command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
    <tr><td class="paramname">command</td><td>the char * name of the generic command </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int the default number of milliseconds between command requests; if -1, then the command is not for refreshing data </dd></dl>

</div>
</div>
<a class="anchor" id="af596938f5848c0ad389e532e320995ef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::removeCamera </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes the specified camera from the collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the char * name of the camera to be removed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the camera was successfully removed; false, otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a503f821e2d8030775b7cfd2f34461b8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::removeCameraCommand </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>command</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes the specified command from the camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the char * name of the camera from which the command is to be removed. </td></tr>
    <tr><td class="paramname">command</td><td>the char * identifier of the command that is being removed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the command was successfully removed; false if an error occurred. </dd></dl>

</div>
</div>
<a class="anchor" id="a1838a439c4a74da1a467b19af40eeeac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::removeModifiedCB </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes a callback from the modified notification list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>the <a class="el" href="classArFunctor.html" title="An object which allows storing a generalized reference to a method with an object instance to call la...">ArFunctor</a> * to be removed from the notification list </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the callback was succesfully removed; false, otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ab8d52a0d7fb9d37adbfa82e5e9024d2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::removeParameter </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>paramName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes the specified parameter from the camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the char * name of the camera from which the parameter is to be removed. </td></tr>
    <tr><td class="paramname">paramName</td><td>the char * name of the parameter to be removed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the parameter was successfully removed from the camera; false if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="a809eb7f6b328cad9ad6d9517bd5cfea5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArCameraCollection::setParameter </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classArConfigArg.html">ArConfigArg</a> &amp;&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Updates the specified camera parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the camera </td></tr>
    <tr><td class="paramname">param</td><td>the <a class="el" href="classArConfigArg.html" title="Argument class for ArConfig. ">ArConfigArg</a> to be set; the parameter must have been previously added to the camera with the <a class="el" href="classArCameraCollection.html#a15505acddd8e8161d4d72b3e16a83bef" title="Adds the specified parameter to the camera. ">addParameter()</a> method </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the parameter was found and set; false, otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="a7a1afaa71eb2965b4ab9ebce55fd761f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArCameraCollection::startUpdate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Starts an update to the collection. </p>
<p>This method may be used when multiple changes are being made to the collection. While an update is in progress, the modified callbacks will not be invoked. The <a class="el" href="classArCameraCollection.html#a447ff6c56721473fb869e7b62517b5b9" title="Ends an update to the collection. ">endUpdate()</a> method should be called after all of the changes are complete (and then the modified callbacks <em>will</em> be invoked). </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArCameraCollection.h</li>
<li>ArCameraCollection.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArCameraCollection.html">ArCameraCollection</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
